/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package carrancao.controlador;

import carrancao.entidades.Usuario;
import carrancao.exception.CadastrarUsuarioException;
import carrancao.repositorio.UsuarioRepositorio;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author Lubnnia
 */
public class UsuarioControlador {

    private UsuarioRepositorio usuarioRep;

    public UsuarioControlador() {
        this.usuarioRep = new UsuarioRepositorio();
    }

    public void validarUsuario(Usuario usuario) throws CadastrarUsuarioException {

        if(usuario.getNome().equals("") || usuario.getCargo().equals("") || usuario.getCelular().equals("")
                || usuario.getCpf().equals("") || usuario.getEmail().equals("") || usuario.getNumCarteira().equals("") || usuario.getRg().equals("")
                || usuario.getTelefone().equals("") || usuario.getLogin().equals("") || usuario.getSenha().equals("") || usuario.getTipo().equals("")) {
            JOptionPane.showMessageDialog(null, "Favor preencha os campos obrigatórios",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }
    }

    public void cadastrarUsuario(Usuario usuario) throws CadastrarUsuarioException {

        this.validarUsuario(usuario);

        this.usuarioRep.cadastrarUsuario(usuario);

        JOptionPane.showMessageDialog(null, "Usuário Cadastrado com Sucesso!",
                "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
    }

    public boolean alterarUsuario(Usuario usuario) throws CadastrarUsuarioException {
        boolean resposta = false;
        if(!(usuario.getNome().equals("") && usuario.getCargo().equals("") && usuario.getTipo().equals(""))) {
            this.usuarioRep.alterarUsuario(usuario);
            resposta = true;
        } else {
            resposta = false;
        }
        return resposta;
    }

    public void deletarUsuario(Usuario usuario) {

        if(usuario != null) {
            this.usuarioRep.deletarUsuario(usuario);
            JOptionPane.showMessageDialog(null, "Dados Excluídos com Sucesso!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "Usuário não existe!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public Usuario pesquisarUsuarioPorID(int id) {

        Usuario usuario = this.usuarioRep.pesquisarUsuarioPorID(id);

        return usuario;

    }

    public List pesquisarUsuarioTodos() {

        List usuario = this.usuarioRep.pesquisarUsuarioTodos();

        return usuario;

    }

    public List pesquisarUsuarioPorNome(String nomeUsuario) {

        List usuario = this.usuarioRep.pesquisarUsuarioPorNome(nomeUsuario);

        return usuario;

    }

}
